home *** CD-ROM | disk | FTP | other *** search
-
- function effects_experimentalShield_onCreate()
- local effect = uniGetExecutor()
- consoleWrite("and now some magic...")
- -- add position interpolator
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,-15.0)
- interpolator:addKey(1.4,15.0)
- interpolator:addKey(2.8,-15.0)
- interpolator:finalize(false)
- -- add interpolator on localPosition Y
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LOCALPOSITION_Y))
- end
-
- --
- -- particle system creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_EXPERIMENTAL_SHIELD)
-
- desc.onCreate = "effects_experimentalShield_onCreate"
- --desc.onCreateLuaFunctionName = "effects_experimentalShield_onCreate"
-
- desc.ClassID = ENCLASS_SIMPLEPARTICLESYSTEM
- desc.EffectClassType = ENECT_PARTICLESYSTEM
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd1 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd1
- vzbzd1:delete()
- desc.isAnimateTexture = false
- desc.RenderType = ENRENDERTYPE_GEOMETRY
-
- Emitter = desc.PS.PSDescription
- Emitter.ParticleTypesNumber = 1
- local vzbzd2 = D3DXVECTOR3:new(0,0,0)
- Emitter.EmitterPosition = vzbzd2
- vzbzd2:delete()
- local vzbzd3 = D3DXVECTOR3:new(0,0,0)
- Emitter.EmitterDirection = vzbzd3
- vzbzd3:delete()
- Emitter.EmitterLifeTime = 10000
-
- PT = Emitter.ParticleTypesParams[1]
- PT.IsEmitterLocked = false
- PT.DrawOrder = 1
- PT.Material = ENMAT_PARTICLE_LIGHT
-
- PT.TextureName = "particle.dds";
-
- PT.ParticlesPerSecond = 50.0;
- PT.InitialNumberOfParticles = 0.0;
- PT.BaseLifeTime = 1.7;
- PT.BaseLifeTimeVariance = 0.0;
- PT.BaseSpeed = 0.0;
- PT.BaseSpeedVariance = 0.0;
- PT.BaseAngle = 0.0;
- PT.BaseAngleVariance = 0.0;
- PT.BaseAngleSpeed = 0.0;
- PT.BaseAngleSpeedVariance = 0.0;
- PT.BaseAngleSpeedDirection = 0;
- local vzbzd4 = D3DXVECTOR3:new(0.0,0.0,0.0)
- PT.BaseDirection = vzbzd4
- vzbzd4:delete()
- local vzbzd5 = D3DXVECTOR3:new(0.0,0.0,0.0)
- PT.BaseDirectionVariance = vzbzd5
- vzbzd5:delete()
- local vzbzd6 = D3DXVECTOR3:new(0,0,0)
- PT.BasePosition = vzbzd6
- vzbzd6:delete()
- local vzbzd7 = D3DXVECTOR3:new(0,0,0)
- PT.BasePositionVariance = vzbzd7
- vzbzd7:delete()
- PT.BaseSize = 3.0;
- PT.BaseSizeVariance = 0.0;
-
- -- color over time
- PT.ColorOverTimeR[1].TimePercent = 0.0
- PT.ColorOverTimeR[1].Value = 0.0
- PT.ColorOverTimeG[1].TimePercent = 0.0
- PT.ColorOverTimeG[1].Value = 1.0
- PT.ColorOverTimeB[1].TimePercent = 0.0
- PT.ColorOverTimeB[1].Value = 0.0
-
- PT.ColorOverTimeR[2].TimePercent = 0.5
- PT.ColorOverTimeR[2].Value = 1.0
- PT.ColorOverTimeG[2].TimePercent = 0.5
- PT.ColorOverTimeG[2].Value = 0.0
- PT.ColorOverTimeB[2].TimePercent = 0.5
- PT.ColorOverTimeB[2].Value = 0.0
-
- PT.ColorOverTimeR[3].TimePercent = 1.0
- PT.ColorOverTimeR[3].Value = 0.0
- PT.ColorOverTimeG[3].TimePercent = 1.0
- PT.ColorOverTimeG[3].Value = 0.0
- PT.ColorOverTimeB[3].TimePercent = 1.0
- PT.ColorOverTimeB[3].Value = 1.0
-
- -- transparency over time
- PT.TransparencyOverTime[1].TimePercent = 0.0;
- PT.TransparencyOverTime[1].Value = 0.0;
-
- PT.TransparencyOverTime[2].TimePercent = 0.3;
- PT.TransparencyOverTime[2].Value = 1.0;
-
- PT.TransparencyOverTime[3].TimePercent = 0.7;
- PT.TransparencyOverTime[3].Value = 1.0;
-
- PT.TransparencyOverTime[4].TimePercent = 1.0;
- PT.TransparencyOverTime[4].Value = 0.0;
-
- -- size over time
- PT.SizeOverTime[1].TimePercent = 0.0;
- PT.SizeOverTime[1].Value = 1.0;
-
- PT.SizeOverTime[2].TimePercent = 1.0;
- PT.SizeOverTime[2].Value = 1.0;
-
- -- Speed over time
- PT.SpeedOverTime[1].TimePercent = 0.0;
- PT.SpeedOverTime[1].Value = 0.0;
-
- PT.SpeedOverTime[2].TimePercent = 1.0;
- PT.SpeedOverTime[2].Value = 0.0;
-
- -- Tangent Speed over time
- PT.TangentSpeedOverTime[1].TimePercent = 0.0;
- PT.TangentSpeedOverTime[1].Value = 0.0;
-
- PT.TangentSpeedOverTime[2].TimePercent = 1.0;
- PT.TangentSpeedOverTime[2].Value = 0.0;
-
- -- GravityAcceleration over time
- PT.GravityAccelerationOverTime[1].TimePercent = 0.0;
- PT.GravityAccelerationOverTime[1].Value = 0.0;
-
- PT.GravityAccelerationOverTime[2].TimePercent = 1.0;
- PT.GravityAccelerationOverTime[2].Value = 100.0;
-
- -- AngleSpeed over time
- PT.AngleSpeedOverTime[1].TimePercent = 0.0;
- PT.AngleSpeedOverTime[1].Value = 0.0;
-
- PT.AngleSpeedOverTime[2].TimePercent = 1.0;
- PT.AngleSpeedOverTime[2].Value = 0.0;
- --
- -- end particle system description
- --
-